There have heretofore been known automatic performance apparatus which prestore accompaniment pattern data indicative of arpeggio patterns, bass patterns, rhythm patterns, etc. each having a predetermined unit length, such as a four-measure length, and which execute an automatic performance of tones on the basis of the accompaniment pattern data. Generally, there are cases in which tone waveform signals obtained by sampling actual musical instrument performances, human voices, natural sounds, etc. for each of performance parts, such as a chord accompaniment part, a bass part and a rhythm part, are used as accompaniment pattern data, and in which tone control signals (i.e., tone generation instruction data like MIDI data defined in accordance with the MIDI standard) are used as accompaniment pattern data.
In the case where audio waveform data is used as the accompaniment pattern data, it is known to perform time stretch control (i.e., time axis expansion/contraction control) in order to generate tones at a desired performance tempo without involving undesired tone pitch variation. As the time stretch control, it is known to time-serially read out the audio waveform data and write the read-out audio waveform data into a RAM and then time-serially read out the thus-written audio waveform data from the RAM at a frequency different from a frequency at which the audio waveform data was written into the RAM. By changing a ratio between the frequency at which the audio waveform data was written into the RAM and the frequency at which the thus-written audio waveform data is read out from the RAM, it is possible to generate tones, different only in performance tempo from the written audio waveform data, with the same tone pitches as when the audio waveform data was written into the RAM (i.e., with the same tone pitches as at the time of audio waveform data recording). Patent Literature 1 identified below discloses an apparatus which performs time stretch control to generate tones while changing only a performance tempo without changing tone pitches.
Throughout this specification, the term “time stretch” is used to refer to compressing audio data on the time axis (i.e., time-axially compressing audio data) and stretching audio data on the time axis (i.e., time-axially stretching audio data). Further, in this specification, the term “tone” is used to refer to a voice or any other sound without being limited to a musical sound alone.
In the case where tone generation instruction data are used as the accompaniment pattern data, on the other hand, generated tones would not change in pitch even if a performance tempo is changed as desired. Namely, in order to change a performance tempo, it just suffices that the automatic performance apparatus change a readout rate of event data (more specifically, note-on event data and note-off event data). For example, the automatic performance apparatus changes the tone performance tempo of tones by changing readout timing of individual event data included in the MIDI data. However, even if the readout timing of the individual event data is changed, information like note numbers (tone pitch information) of the individual event data would stay unchanged and thus tones would not change in pitch.